package com.newtouch.bxzs.business.product.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * 产品BO类
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2020/12/31 15:51</td>
 * <td>xiongdianqiang</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author xiongdianqiang
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
@ApiModel("产品BO类")
public class ProductDetailBO implements Serializable {

    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 8501963867100211993L;

    @ApiModelProperty(value = "主键")
    private String productId;

    @ApiModelProperty(value = "创建人id")
    private String createUserId;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "修改人id")
    private String updateUserId;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "险种代码")
    private String productCode;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "产品简称")
    private String productAbbreviation;

    @ApiModelProperty(value = "产品分类，1：少儿，2：养老，3:财富，4：健康，5：意外，6：旅行")
    private Integer productType;

    @ApiModelProperty(value = "保障期限")
    private String productGuaranteePeriod;

    @ApiModelProperty(value = "起售时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date productSaleStartTime;

    @ApiModelProperty(value = "停售时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date productSaleEndTime;

    @ApiModelProperty(value = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date publishTime;

    @ApiModelProperty(value = "撤销时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date revokeTime;

    @ApiModelProperty(value = "发布状态，1：未发布，2：已发布，3：已结束，4：已取消，5：已撤销")
    private String publishStatus;

    @ApiModelProperty(value = "产品销售渠道")
    private String productSaleChannel;

    @ApiModelProperty(value = "产品起保金额")
    private Double productInitialInsuredAmount;

    @ApiModelProperty(value = "投保年龄")
    private String productInsureAge;

    @ApiModelProperty(value = "缴费方式,1:趸交,2:期缴,3:其他")
    private String productPaymentMethod;

    @ApiModelProperty(value = "产品简介")
    private String productIntroduction;

    @ApiModelProperty(value = "主推标识")
    private Boolean mainProduct;

    @ApiModelProperty(value = "产品标签，0：重要人士标志、1：潜在VIP标志、2：特殊VIP标志")
    private String productLabel;

    @ApiModelProperty(value = "产品话术")
    private String productSpeechCraft;

    @ApiModelProperty(value = "产品分享标题")
    private String productShareTitle;

    @ApiModelProperty(value = "产品分享简介")
    private String productShareIntroduction;

    @ApiModelProperty(value = "产品销量")
    private String productSaleNumber;

    @ApiModelProperty(value = "附件")
    private HashMap<String, List<String>> productEnclosureNameList;

    @ApiModelProperty(value = "产品状态：1-在售；2-停售；")
    private String productStatus;

    @ApiModelProperty(value = "发布人")
    private String publishUser;

    @ApiModelProperty(value = "产品链接")
    private String productUrl;

}